package com.example.nacos.entity;


import com.alibaba.fastjson.annotation.JSONField;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.example.nacos.config.SeparatorAnnotation;
import lombok.Data;
import org.springframework.core.annotation.Order;

import java.time.LocalDate;

/**
 * 基金净值信息实体类
 * 对应ClickHouse表：chdb.DLS_FUND_NAV_INFO
 */
@Data
@TableName("DLS_FUND_NAV_INFO")
@SeparatorAnnotation(value = "|", description = "分号分隔数据")
public class DlsFundNavInfo {

    /**
     * 产品代码
     */
    @Order(0)
    @TableField("PROD_CODE")
    private String prodCode;

    /**
     * 产品名称
     */
    @Order(1)
    @TableField("PROD_NAME")
    private String prodName;

    /**
     * 净值日期（补全节假日的净值）
     */
    private String netDate;

    /**
     * 真实净值日期
     */
    @Order(4)
    @TableField("NAV_DATE")
    private String navDate;

    /**
     * 基金净值
     */
    @Order(5)
    @TableField("NAV")
    private Double nav;

    /**
     * 累计净值
     */
    private Double totalNav;

    /**
     * 基金状态
     */
    private String prodStatus;

    /**
     * 业务类别：1-公募基金 2-基金专户 3-券商集合 4-信托计划 5-其他产品
     */
    private String busiType;

    /**
     * 源系统标志
     */
    private String dataSource;

    /**
     * 加载日期
     */
    @Order(9)
    @JSONField(format = "yyyy-MM-dd")
    @TableField("LOAD_DATE")
    private LocalDate loadDate;

    /**
     * 当日总份额
     */
    private Double totalFundVol;

    /**
     * 货币基金年化收益率
     */
    private Double fundYearIncomeRate;

    /**
     * 货币基金七日年化收益率
     */
    private Double yield;

    /**
     * 货币基金当日收益
     */
    private Double fundIncome;


}